package com.qianfeng.camerademo.utils;

import java.io.File;
import java.io.IOException;
import java.util.Date;

import com.qianfeng.camerademo.constants.AppConstants;

import android.os.Environment;
import android.text.format.DateFormat;

/**
 * @author: 张唯
 * @类 说 明:
 * @version 1.0
 * @创建时间：2014-10-28 下午3:53:46
 * 
 */
public class FileUtils {
	/**
	 * 创建程序的文件夹;
	 * 
	 * @Title: getAppcache
	 * @说 明:
	 * @参 数:
	 * @return void 返回类型
	 * @throws
	 */
	public static File getAppCache() {
		String cachePath = null;
		File file = null;
		// 如果存在sd卡
		if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
			// 创建
			cachePath = Environment.getExternalStorageDirectory() + File.separator + AppConstants.APP_CACHE;
		} else {
			cachePath = Environment.getDataDirectory() + File.separator + AppConstants.SYS_CACHE;

		}
		file = new File(cachePath);
		if (!file.exists()) {
			file.mkdirs();
		}
		return file;
	}

	/**
	 * 获得保存图片的文件夹
	 * 
	 * @Title: getImageCache
	 * @说 明:
	 * @参 数: @return
	 * @return File 返回类型
	 * @throws
	 */
	public static File getImageCache() {
		// 获得保存图片文件的路径
		String imagePath = getAppCache().getAbsolutePath() + File.separator + AppConstants.IMAGE_CACHE;
		File imageCache = new File(imagePath);
		if (!imageCache.exists()) {
			imageCache.mkdirs();
		}
		return imageCache;
	}
	/**
	 * @throws Exception 
	 * 
	 * 图片命名时间戳
	 * 创建图片文件
	 * @Title: getImageFile 
	 * @说       明:
	 * @参       数: @return   
	 * @return File    返回类型 
	 * @throws
	 */
	public static File getImageFile () throws Exception{
		File imageFile = new File(getImageCache().getAbsolutePath() , DateFormat.format("yyyyMMddHHmmss", new Date()) + ".png");
		if (!imageFile.exists()) {
			imageFile.createNewFile();
		}
		return imageFile;
	}
	
}
